Consider a set of M receivers RX={RX1, RX2, . . . , RXM}. At times, it is desirable to send the same information to each receiver in this set such that each receiver can recover the complete information and achieve a high throughput at the same time. Without loss of generality, suppose the time is divided into slots during which each receiver RXjεRX observes a stationary channel quality represented by its average received signal to noise ratio SNRj(k) at kth slot. Assume that the transmitter knows the channel state (with some accuracy) of each receiver (e.g., via a feedback channel) at the start of a time slot. The channel state information (CSI) dictates how many bits per second (or bits per transmission) can be sent over that channel with a given reliability or achievability. For instance, the information theory states that a transmission rate of Cx(k)=0.5 log2(1+SNRx(k)) can be achieved over an additive white Gaussian noise (AWGN) channel at receiver x. If the transmitter sends the information at a rate R>Cx(k) during kth time slot, receiver x cannot recover the information sent during that slot. On the other hand, any information transmitted at rate R<Cx(k) can be successfully recovered by x during kth time slot.
Suppose the receivers are ordered with respect to their channel qualities in descending order at the start of each time slot, i.e., SNR1(k)≧SNR2(k)≧ . . . ≧SNRM(k). The rate set by the transmitter at the beginning of the time slot then dictates which subset of receivers can recover the information sent during that time slot. The rate RL(k) is defined as the rate at which the receivers with the highest L channel qualities can indeed recover the broadcast information during slot k while the remaining (M−L) receivers cannot. For instance over AWGN channel under the ideal assumptions, RL(k) becomes equal to 0.5 log2(1+SNRL(k)). The set RXL(k) is defined as the subset of receivers that have the L highest channel quality values, e.g., SNR's, during kth slot. In other words, RXL(k) represents the set of receivers that can successfully recover the information transmitted at rate RL(k). For purposes herein, the indicator function I(x) is defined to be equal to 1 if x is true and 0, otherwise, e.g., if xεRXL(k), then I(xεRXL(k))=1 and if x∉RXL(k), then I(xεRXL(k))=0. With these definitions in mind, then one can write the average rate observed at receiver x in a frame of T slots as:
            R      x        ⁡          (              L        ,        T            )        =            1      T        ⁢                  ∑                  k          =          1                T            ⁢                                    R            L                    ⁡                      (            k            )                          ×                              I            ⁡                          (                              x                ∈                                                      RX                    L                                    ⁡                                      (                    k                    )                                                              )                                .                    
Note that L and T are used as the system parameters here. Since Rx(L,T) is a random variable, these parameters can be chosen to maximize the expected value of Rx(L,T), i.e., E[Rx(L,T)]. When RL(k)×I(xεRXL(k)) is identically distributed, E[Rx(L,T)] becomes independent of T, and maximization is carried out over L only. Typically, the maximum does not coincide with the extreme points where L=1 or L=M, but rather at an intermediate point. The location of maximum point is governed by the channel statistics.
If different users observe different channel statistics (e.g., one user may be closer to the transmitter than the others, some users may have a direct line of sight from the transmitter whereas others may not have, etc.), some users may benefit more at different values of L.
Opportunistic multicasting is well-known in the art. Some have suggested a strategy that sorts the users with respect to their channel qualities and selects the median user as the targeted channel quality level to set the transmission rate over the wireless channel. In this case separate transmission queues are used for every possible subset of receivers of cardinality N/2 (assuming N is even). For instance, for a 6 user system, where the users are numbered from 1 to 6, one can define C(6,2)=6!/2!/(6−2)!=15 different subsets of cardinality 2. For every subset A, one also has complementary subset Ac={1,2,3,4,5,6}/A, e.g., the complementary subset of {1,4,5} is {2,3,6}. Whenever a new information packet is received, the packet is copied onto two queues: the subset of receivers with the highest N/2 channel quality values (i.e., SNRs) and its complementary set. Assuming that each receiver has IID channel quality metrics, each subset has equivalent chances of being scheduled by the transmitter as dictated by the current channel state information. Since each packet is to be received by all the receivers, each queue to which the packet is copied must be scheduled at least once. This system mainly suffers from three problems. First, the system is not optimal and it considers a rate adaptation with respect to the median user only. Second, there is a waste of bandwidth when the transmitter targets more than N/2 receivers. In such a situation, one cannot find mutually exclusive subsets of receivers of the same size, and the proposed scheduling amounts to retransmission for some of the receivers. For instance, suppose that the optimal strategy was to target four best receivers out of six rather than the median user each time instant. If the optimal subset is {2,3,5,6} (e.g., these are the receivers with the four highest average SNR values currently), the complementary subset is {1,4} and its cardinality is less than four. So when a packet is scheduled for the subset {2,3,5,6}, it is copied to a queue that corresponds to a subset of cardinality four and that also includes {1,4}. However, when that queue is scheduled, it is guaranteed that at least two receivers will not have a new information and the transmission is wasted from their point of view. Third, the solution has exponential complexity with the number of users, since one needs to maintain an exponential number of queues.
Other opportunistic multicasting strategies that sends coded bitstreams are also known, but they either entail a transmission followed by recovery cycles or they are not work-conserving (i.e., transmitters can be idle until a good enough transmission opportunity arises).
Literature exists in opportunistic scheduling but this literature proposes its use for unicast flows, where each receiver demands independent streams of information over a fading broadcast channel.
Also note that erasure codes, rateless codes, and their applications are known in the art.